package com.lostfound.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lostfound.entity.LostFoundItem;

import java.util.List;

/**
 * 失物招领信息 - 服务接口
 * 
 * @author 学生姓名
 * @description 业务逻辑层接口，定义业务方法
 */
public interface LostFoundItemService extends IService<LostFoundItem> {

    /**
     * 查询所有失物招领信息（支持按类型和状态筛选）
     * @param itemType 物品类型（null表示查询全部）
     * @param status 状态（null表示查询全部）
     * @return 失物招领信息列表
     */
    List<LostFoundItem> getList(Integer itemType, Integer status);

    /**
     * 根据关键词搜索（搜索物品名称和描述）
     * @param keyword 搜索关键词
     * @return 匹配的失物招领信息列表
     */
    List<LostFoundItem> searchByKeyword(String keyword);

    /**
     * 发布失物招领信息
     * @param item 失物招领信息对象
     * @return 是否发布成功
     */
    boolean publish(LostFoundItem item);

    /**
     * 更新失物招领信息
     * @param item 失物招领信息对象
     * @return 是否更新成功
     */
    boolean update(LostFoundItem item);

    /**
     * 标记为已完成（已找到/已归还）
     * @param id 记录ID
     * @return 是否操作成功
     */
    boolean markAsCompleted(Long id);

    /**
     * 删除失物招领信息
     * @param id 记录ID
     * @return 是否删除成功
     */
    boolean delete(Long id);
}



